/************************************************/
/*    Auteur    : Yoann NICOD                   */
/*    Programme : Atomic Bomberman Origins      */
/*    Fichier   : debug.cpp                     */
/*    Date      : 28/12/2012                    */
/************************************************/

#include "debug.h"
#include <iostream>
#include <ctime>

using namespace std;

FILE *pFichierLog = NULL;

void InitialiserLog()
{
	char NomFichier[64] = {0};

	time_t Maintenant = time(NULL);
	tm *pDate = localtime(&Maintenant);

	sprintf(NomFichier, "%s_%02d_%02d_%04d.txt", 
		FICHIER_LOG,
		pDate->tm_mday,
		pDate->tm_mon+1,
		pDate->tm_year+1900),

	pFichierLog = fopen(NomFichier, "a+");
	return;
}

void ArreterLog()
{
	if(pFichierLog)
		fclose(pFichierLog);

	return;
}

void Log(char *pChaine, int Niveau)
{
	if(!pChaine)
		return;

	if(Niveau == NIVEAU1 && DEBUG_NIVEAU1)
		cout << pChaine << endl;

	if(Niveau == NIVEAU2 && DEBUG_NIVEAU2)
		cout << pChaine << endl;

	if(TRACE_FICHIER)
		LogFichier(pChaine, Niveau);

	return;
}

void LogFichier(char *pChaine, int Niveau)
{
	time_t Maintenant = time(NULL);
	tm *pDate = localtime(&Maintenant);
	
	if(pFichierLog)
		fprintf(pFichierLog, 
		"[%02d:%02d:%02d - DEBUG %d]: %s\n",
		pDate->tm_hour,
		pDate->tm_min,
		pDate->tm_sec,
		Niveau,
		pChaine);

	return;
}